# 23-set集合.py
'''
    无序不重复序列
    空集合声明：set()
'''
# 1、声明
bak = {'a','b','c',13,12,14,12} # 出现重复会自动去重
bak1=set() # 空集合
print(bak)

# 2、集合之间的运算
a = set('abracadabra')
b = set('alacazam')
print(a,'\n',b)
# {'d', 'r', 'b', 'a', 'c'}
#  {'m', 'l', 'a', 'c', 'z'}
print(a-b) # 集合a中去除重复得b元素
# {'d', 'r', 'b'} 
print(a|b) # 合并ab 去重(留下一个)
# {'d', 'b', 'c', 'z', 'm', 'l', 'r', 'a'}
print(a&b) # 查询两个集合中重复元素
# {'a', 'c'}
print(a^b) # 合并ab,只要重复就全部去除
# {'b', 'l', 'm', 'z', 'd', 'r'}

# 3、添加元素 add() update()
bak1.add(123) # add只能添加简单的类型
bak1.add('a')
bak1.update(['a','c']) # 可以添加复杂类型
bak1.update((44,22,55))
bak1.update({"name":'张三'})
print(bak1)

# 4、删除 remove()
bak1.remove('name')
# bak1.remove(666) # 删除没有的会报错
bak1.discard('666') # 有就会删除，没有就挂机
bak1.pop() # 随机删除
print(bak1)

# 5、清空 clear()
bak1.clear()
print(bak1)